#pragma once

#include "KPBR.h"

#include <vector>

struct MeshCache {
	std::vector<kp::Face> faceindices;
	std::vector<kp::Point3f> vertices;
	std::vector<kp::Normal> normals;
	std::vector<kp::Point2f> uvs;
};

class ObjLoader {
public:
	ObjLoader(const std::string& path);
	std::vector<kp::Ref<kp::Primitive>> get(kp::Ref<kp::Transform> o2w);
	MeshCache mesh;
};
